//package com.example.springboot.utils;
//
//import cn.hutool.core.date.DateUtil;
//import cn.hutool.core.util.StrUtil;
//import com.auth0.jwt.JWT;
//import com.auth0.jwt.algorithms.Algorithm;
//import com.example.springboot.entity.User;
//import com.example.springboot.mapper.UserMapper;
//import org.springframework.stereotype.Component;
//import org.springframework.web.context.request.RequestContextHolder;
//import org.springframework.web.context.request.ServletRequestAttributes;
//
//import javax.annotation.PostConstruct;
//import javax.annotation.Resource;
//import javax.servlet.http.HttpServletRequest;
//import java.util.Date;
//
///**
// * 功能：
// * 作者：旺旺威化饼
// * 日期：2025/03/18 11:09
// **/
//@Component
//public class TokenUtils {
//    private  static UserMapper staticUserMapper;
//    @Resource
//    UserMapper userMapper;
//    @PostConstruct
//    public  void setUserService(){
//        staticUserMapper=userMapper;
//    }
//    /**
//     * 生成 token
//     * @return token
//     * */
//    public static String createToken(String userId,String sign){
//        return JWT.create().withAudience(userId)    //将user id 保存到token里面，作为载荷
//                .withExpiresAt(DateUtil.offsetHour(new Date(),2))   //2小时后token过期
//                .sign(Algorithm.HMAC256(sign));     //以password作为token的密钥
//    }
//    /**
//     * 获取当前登录的用户信息
//     * @return user对象
//     * */
//    public static User getCurrentUser(){
//        try{
//            HttpServletRequest request=((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
//            String token=request.getHeader("token");
//            if (StrUtil.isBlank(token)){
//                String userId=JWT.decode(token).getAudience().get(0);
//                return staticUserMapper.selectById(Integer.valueOf(userId));
//            }
//        }catch (Exception e){
//            return null;
//        }
//        return null;
//    }
//}
